﻿using System;

namespace TokenUtil
{
   class Parameter
   {
      public Type Type { get; set; }
      public string Description { get; set; }
      public bool IsSet { get; set; }

      public Object _value;
      public Object Value
      {
         get { return _value; }
         set { _value = value; }
      }

      public T GetValue<T>()
      {
         return (T)_value;
      }

      public Parameter GetCopy()
      {
         return new Parameter()
         {
            Type = this.Type,
            Description = this.Description,
            IsSet = this.IsSet,
            Value = this.Value
         };
      }
   }
}
